#define _CRT_SECURE_NO_WARNINGS 1

//#include <stdio.h>

//struct S1
//{
//	char c1;
//	int i;
//	char c2;
//};
//
//struct S2
//{
//	char c1;
//	char c2;
//	int i;
//};
//
//struct S3
//{
//	double d;
//	char c;
//	int i;
//};
//
//int main()
//{
//	printf("%zd\n", sizeof(struct S1));
//	printf("%zd\n", sizeof(struct S2));
//	printf("%zd\n", sizeof(struct S3));
//
//	return 0;
//}

//#include <stdio.h>
//
//struct S3
//{
//	double d;
//	char c;
//	int i;
//};
//
//struct S4
//{
//	char c1;
//	struct S3 s3;
//	double d;
//};
//
//int main()
//{
//	printf("%zd\n", sizeof(struct S4));
//
//	return 0;
//}

//#include <stdio.h>
//
//struct
//{
//	char name[20];
//	int age;
//	char add[30];
//}x,b;
//
//int main()
//{
//	x.age = 18;
//	b.age = 20;
//	printf("%d %d\n", x.age, b.age);
//	return 0;
//}
//
//#include <stdio.h>
//
//struct S5
//{
//	char a[5];
//	int i;
//	short b[2];
//	char c;
//};
//
//int main()
//{
//	printf("%zd\n", sizeof(struct S5));
//	return 0;
//}

//#include <stdio.h>
//
//#pragma pack(1)
//
//struct S6
//{
//	char a;
//	int i;
//	char b;
//};
//
//#pragma pack()
//
//int main()
//{
//	printf("%zd\n", sizeof(struct S6));
//	return 0;
//}

//struct S
//{
//	char a;
//	int i;
//};
//
//struct S
//{
//	char a : 2;
//	int i : 10;
//	char b : 5;
//};

struct S
{
	char a : 3;
	char b : 4;
	char c : 5;
	char d : 4;
};

int main()
{
	struct S s = { 0 };
	s.a = 10;
	s.b = 12;
	s.c = 3;
	s.d = 4;
	return 0;
}

